Various standards have been developed for radio transmission or communication. They fall into several categories including frequency division multiple access (FDMA), time division multiple access (TDMA), and code division multiple access (CDMA). Under FDMA communications, a communications channel is a single radio frequency band into which a signal transmission power is concentrated. Interference with adjacent channels is limited by the use of band-pass filters which only pass signal energy within the specificed frequency band. Each channel is assigned a different frequency and system capacity is limited by the available frequency range and channel bandwidth.
Under TDMA communications, a channel consists of a time-slot in a periodic group of time intervals over a single frequency. Each period of time slots is defined as a frame. A signal's energy is confined to one of the time slots. Adjacent channel interference is limited by the use of a synchronization element that only captures signal energy at the proper time.
Under CDMA communications, sometimes referred to as spread-spectrum communications, signals are permitted to overlap in both time and frequency. Thus, all CDMA signals share the same frequency spectrum. In both the frequency and time domains, the multiple access signals appear to be superimposed on each other. The informational data stream to be transmitted is impressed upon a much higher rate data stream known as a signature sequence. The signature sequence data are typically binary. The signature sequence is often generated with a pseudo-noise process that appears random but can be replicated in a receiver. The informational data stream and the high bit rate signature sequence stream are combined. The combination of the higher bit rate signal with the lower bit rate data stream is defined as coding or spreading the informational data stream signal. Each informational data stream or channel is allocated a unique one of a set of orthogonal spreading codes that is used in de-spreading the informational data stream received by the receiver. In this manner, a receiver can extract information from the informational data stream that is intended for it from the higher rate informational data stream which includes information intended for all receivers.
Several CDMA standards have been proposed. One such standard is IS-95 adopted for use in the U.S. for cellular telephony. To determine when a signal is transmitted, and to synchronize the reception and processing of a transmitted signal, IS-95 specifies the use of a search finger which uses a correlator to correlate a known portion of the IS-95 pilot epoch with the sampled received signal. The pilot epoch is the time interval over which the pseudo noise sequence repeats. The known portion of the IS-95 pilot epoch is the first 64 chips output from the in-phase and quadrature pseudo-noise generators subsequent to the rollover state. The state at which the in-phase sample sequence and quadrature sample sequence pseudo-noise generators have all zeros in the stages and the first stage is forced to a one prior to the next state transition. The 80 milliseconds after the long code generator is initialized with a value received from the base station on a different channel than the received data. The beginning of the pilot epoch is the rollover state. The pilot channel is the zero Walsh channel. An exclusive OR of the zero Walsh channel with the in-phase and quadrature pseudo-noise sequence leaves the pilot sequence unaltered. There is no data on the pilot channel. A unique sequence of a predetermined number of bits for each transceiver, sometimes called a long code sequence, that is used to spread data transmitted by the transceiver and to de-spread data received by the transceiver. The pilot sequence is a sequence of a known number of bits, transmitted at a predetermined clock rate specified by the standard. Each phase transition transmitted or received is defined as a chip, which is a fraction of a symbol due to the spreading of the data. In IS-95 for example, 64 chips represent one symbol.
Communication systems are often subject to multipath distortion in which a transmitted signal can arrive at a receiver at multiple times, appearing to be a multiplicity of received signals. Each of the multiplicity of received signals may have variations in parameters relative to the transmitted signal, such as different delays, gains and phases. Relative motion between a transmitter and receiver further contribute to variations in the received signal. The receiver must reliably extract the transmitted signal from the multiplicity of received signals. A type of receiver particularly well suited for reception of multipath spread spectrum signals is a RAKE receiver. A RAKE receiver is comprised of "fingers" which optimally combine in the receiver the signals received from the various paths. The RAKE receiver can be analogized to a matched filter, where the path gains of each "finger," like the taps of a matched filter, need to be estimated to construct the RAKE receiver to accurately detect a received transmitted signal. Since a transmitted signal is subject to many types of distortion as it passes through a channel to a receiver (multipath effects, Rayleigh fading, Doppler shift, etc.), the receiver must estimate the path gains utilizing the transmitted signal as distorted at the receiver. Thus, the detected received signal will only be as good as the path gain estimation "finger" in the RAKE receiver.
U.S. Pat. Nos. 5,448,600; 5,442,661; 5,442,627; 5,361,276; 5,327,455; 5,305,349; and 5,237,586, the disclosures of which are hereby incorporated by reference, each disclose a rake receiver. In rake receivers, for each fractional chip increment, a correlation with the pilot epoch is performed, which may be represented using the complex conjugate of the expected sequence, x.sub.r (n)+x.sub.i (n), as ##EQU1## where: n and m are counters
cc.sub.r (n) are the real components of the cross correlation PA1 cc.sub.i (n) are the imaginary components of the cross correlation PA1 y is the sampled received signals PA1 x is the reference sequence sequence PA1 .tau. is a fractional chip PA1 L.sub.corr is correlation length (typically 64 or 128 for IS-95) PA1 N.sub.samples is the number of sample time offsets per chip PA1 N.sub.accum is the number of serial accumulators PA1 4 is the number of real multiplies for each complex multiply, and PA1 Sequence time is the duration of the pilot sequence (26.66 ms for IS-95)
Thus, as can be seen from equations (1) and (2), four real correlations are performed in the process of performing one complex correlation.
Acquisition mode occurs when a transceiver is trying to determine whether there is a pilot signal present that is intended for all receivers. In acquisition mode, the search finger must search through all fractional chip offsets of the pilot epoch in order to locate a signal, should one be present, intended for a particular receiver.
Data detection mode occurs when the transceiver has identified that there is a signal present in the signature sequence intended for that particular transceiver. In the data detection mode, there are several sub modes. The sub modes include a paging data mode, a synchronization data mode, and a traffic mode. During the paging data and traffic modes, the search finger must scan for other signals over a limited search range relative to the time of arrival of the first 64 or 128 chips following the all-zero state of the base station pilot epoch. If the search function is to be accomplished in real time, using a 64 chip matched filter, the number of accumulators can be calculated as: (64 chips) times (8 offsets per chip) times (four real correlations per complex correlation). 2048 accumulators would be required. Since it is not practical to provide 2048 accumulators, prior art correlators have accepted a trade-off between the amount of hardware provided and the time required to complete the search function by implementing multiple time offset correlations such as by operating multiple serial accumulators in parallel.
If real-time correlation is not employed, the time penalty incurred can be calculated. Defining an epoch to be the duration of the entire pilot sequence (e.g., for IS-95 2.sup.15 chips at 1.2288 MHz or 26.66 milliseconds), and assuming an ideal scenario with 100% probability of detecting the presence of a pilot signal with no Doppler frequency offset and 0% probability of no false detection of a pilot signal, the maximum search time is given by equation (3). ##EQU2## where: T.sub.search is the maximum time to complete the search
It can be seen from equation (3) that the maximum time to complete the search for the reference sequence at all possible time offsets is directly proportional to the correlation length, number of samples and sequence time, and inversely proportional to the number of accumulators.